package main

import (
	"fmt"
	"time"
)

func main8() {
	// 创建缓冲区为1的channel对象
	ch := make(chan int, 1)

	go func() {
		// 子协程中尝试从channel中获取数据
		<-ch
		for i := 1; i <= 5; i++ {
			time.Sleep(time.Millisecond) // 模拟耗时操作
			fmt.Println(i)
		}
	}()

	go func() {
		for i := 1; i <= 5; i++ {
			time.Sleep(time.Millisecond) // 模拟耗时操作
			fmt.Println(i * 10)
		}
		// 子协程执行的最后，才向channel对象中写入数据
		ch <- 0
	}()

	time.Sleep(time.Second)
}
